The widespread deployment of large, interconnected computer system networks has transformed the nature of communication. The largest such network, the Internet, is a general purpose, public computer network which allows millions of computers all over the world, connected to the Internet, to communicate and exchange digital data with other computers also coupled to the Internet. As new technologies emerge, the speed at which one can connect onto the Internet is ever increasing. Now, users on the Internet have the bandwidth to participate in live discussions in chat rooms, play games in real-time, watch streaming video, listen to music, shop and trade on-line, etc. In the future, it is imagined that the bandwidth will be such that video-on-demand, HDTV, IP telephony, video teleconferencing, and other types of bandwidth intensive applications will soon be possible.
One method of increasing the speed of a network connection involves the use of a “broadband” connection. Broadband refers to the characteristic that a connection has much greater access bandwidth than a traditional telephone modem (e.g., 28.8 kbps, 56 kbps, etc.). The most commonly implemented broadband connections are generally cable modem and DSL modem connections.
Modems are electronic devices used to connect computer systems to a wide area network connection, generally, a twisted pair telephone line (e.g., a DSL modem) or coaxial cable television line (e.g., a cable modem). With respect to cable modems, cable modems are used to connect a computer to a cable TV service that provides Internet access. Cable modems dramatically increase the bandwidth between the user's computer and the Internet service provider, taking advantage of the increased communications bandwidth capabilities of the cable television line. With respect to DSL modems, DSL modems are used to connect a computer to a twisted pair telephone line (e.g., digital subscriber line). DSL technology dramatically increases the digital capacity of ordinary telephone lines (the local loops) into the home or office.
Routers are typically used in conjunction with the modems and the broadband connections. The router is connected to the modem (e.g., cable modem or DSL modem) and is used to share the broadband connection among multiple computer systems or devices. Generally, the computer systems access the broadband connection via the router. Traffic destined for the wide area network (e.g., the Internet) is transmitted from the router to the modem and then on to the wide area network. The router also provides additional services to users, such as, for example, firewall protection, QoS (quality of service) support, VPN (virtual private network) supported network access, IP (Internet protocol) phone support, and the like.
There exists a problem, however, with the connection speed of the router and the devices of the local area network with respect to the connection speed of the modem to the wide area network. The modem for the broadband connection typically couples to the router via an Ethernet connection. The bandwidth of the Ethernet connection (e.g., WAN port) of the router is 10/100 Mbps, which is much higher than the maximum upstream speed of most types of broadband access modems currently available. If traffic is forwarded to the modem from the router at Ethernet speeds, packets could be indiscriminately discarded at the modem and significantly impair applications that are dependent on latency and data throughput (e.g., voice over IP applications, etc.).
One prior art solution to this problem involves the use of two important QoS techniques. Traffic shaping is used to control the output of the router to the modem and to the broadband connection by matching the data output speed of the router to the speed of attached modem. LLQ (low latency queuing) is used to make sure important high priority packets (e.g., voice packets) will get the highest bandwidth priority and won't be dropped even when the output stream exceeds the target traffic shaping threshold. As known by those skilled in the art, the target speed of traffic shaping should be the physical upstream speed after modem gets trained. Most of the time, this speed will be less than the maximum modem speed (e.g., approximately 800 kbps with ADSL modems and 2 Mbps with cable modems) due to cable or DSL line transmission conditions (e.g., distance, interference, etc.).
Prior art traffic shaping and LLQ techniques are not sufficient due to fact that there is no way for the router to know the exact trained speed of the modem since there is no such information exchange between the router and the modem. In order for traffic shaping to work correctly, the user has to find out the trained speed for the modem (e.g. by calling the service provider) and then manually configure the trained speed on the router (e.g., through a configuration utility, etc.).
Thus, what is required is a solution for configuring a router to function with a coupled modem in view of the upstream speed of a broadband connection. The required solution should not require manual intervention of the user in order to function properly. The required solution should function correctly in different configuration environments and with different types of modems. The present invention provides a novel solution to these requirements.